constructor(public documenOverride = document) { getElementById(id: string): HTMLElement { return this.documenOverride.getElementById(id);
createElement(tagName: string, style?: any, parent?: HTMLElement): HTMLElement { var elem = this.documenOverride.createElement(tagName);
Dom.applyStyle(elem, style);
parent.appendChild(elem);
static applyStyle(elem: HTMLElement, style: any) { for (var k in style) if (style.hasOwnProperty(k)) { Dom.setText(elem, <any>style[k]);
try { elem.style[k] = style[k]; } static setText(elem: HTMLElement, text: string) { if ('textContent' in elem) static addEventListener(element: any, type: string, listener: (event: Event) => void, useCapture?: boolean) { if (element.addEventListener) { if (typeof useCapture==='undefined')
(<HTMLElement>element).addEventListener(type, listener);
(<HTMLElement>element).addEventListener(type, listener, useCapture);
var ontype = 'on' + type;
if (element.attachEvent) { element.attachEvent('on' + type, listener); else if (element[ontype]) { element[ontype] = listener;
static addEventListenerWithDelay(element: any, type: string, listener: (event: Event) => void, useCapture?: boolean) {